When a user installs software on a computer, the user is often given a choice regarding which items or features of the software should be installed. An input control through which the user can make his or her selections is known as a tri-state input control, as illustrated in FIG. 2A-2D. In FIG. 2A, a user is presented with a window 201 through which the user can select which features of the software application Microsoft® Office® XP Professional the user desires to install. Upon selection of each drop down box, e.g., drop down box 203, the user is presented with a selection submenu 204. Using submenu 204, the user can select whether to install just that feature (by selection of ‘Run from My Computer’), to install that feature and all included subfeatures (by selection of ‘Run all from My Computer’), to install the feature when a user first tries to use it (by selection of ‘Installed on First Use’), or to not install the feature or any subfeatures (by selection of ‘Not Available’).
Tri-state selection refers to each folder being able to have one of three states. In a first state, Full Selection, a folder and all its subfolders are selected, in which case the folder might be colored white as in FIG. 2A. In a second state, Partial Selection, at least one subfolder of a folder is selected, and at least one subfolder of the folder is not selected, in which case the folder might be colored gray (see FIG. 2B-2D). In the third state, No Selection, neither the folder nor any subfolders are selected, in which case the folder might be marked out, as illustrated by folders having the mark ‘X’ in FIGS. 2C and 2D.
Problematic issue arises regarding the second state described above. A first issue is that a user may be unable to determine which subfolders or subfeatures will be installed unless the user fully expands the hierarchical display to view what will be installed. A second issue is that the user may be unable to determine whether items stored in the hierarchically top folder are to be installed. The first issue is illustrated in FIG. 2B, where the topics ‘Microsoft Office’ and ‘Microsoft PowerPoint for Windows’ are grayed out, indicating that at least one hierarchically lower item is to be installed, and at least one hierarchically lower item is not to be installed. However, without expanding the hierarchical display of Microsoft PowerPoint for Windows, the user does not know which items are to be installed and which items are not to be installed.
Upon selection of the ‘+’ widget next to box 203, the user is presented with FIG. 2C. While in FIG. 2C the user can conclusively determine that Help, Content Templates, and Presentation Broadcasting will be installed, and that Design Templates, Animation Sound Effects, and Pack and Go Wizard will not be installed, the user still cannot determine which items under the ‘Presentation Translators’ feature will be installed. Upon selection of the ‘+’ widget next to box 207, the user is presented with FIG. 2D. Finally, in FIG. 2D, after drilling down two additional levels into the hierarchy, the user can conclusively determine that Harvard Graphics 3.0 for DOS will be installed, and Lotus Freelance 1.0-2.1 for Windows will not be installed. Thus, it is tedious for a user to perform additional steps simply to determine which items are included in the installation scope.
The second issue mentioned above is illustrated with respect to FIG. 3. FIG. 3 illustrates a search scope selection control, wherein the user can identify the scope of folders in which a search should be conducted. In this example, scope refers to the set of storage locations (e.g., folders) in which the search is conducted. For example, a user may want to search all his or her files, but exclude the Recycle Bin because he or she does not want deleted items to appear in the search results. A problem today is that there is no efficient way for users to specify what locations to exclude from a scope. Products such as Kazaa, Google's Picassa, and Adobe Album need to define scopes, and each has been trying, though unsuccessfully, to come up with a solution to this problem.
Specifically, a problem with known tri-state selection tree models is that when a sub-node within the tree is selected, an ambiguous state is reflected in that node's parent and all subsequent parent nodes. For the user looking at these parent nodes, there is no way to tell whether or not the parent nodes' locations are included in the search.
FIG. 3 illustrates a control exhibiting prior art behavior. In FIG. 3, a check mark next to a folder indicates that the specific folder, as well as all subfolders, will be included in the search scope. A blank box next to a folder indicates that the specific folder, as well as all subfolders, are not included in the search scope. A square mark within the square box indicates that at least one subfolder will be included in the search scope, and at least one subfolder will not be included in the search scope. As with the first issue illustrated with respect to FIGS. 2A-2D, FIG. 3 also presents the same ambiguity where a user cannot determine which folders and subfolders will or will not be included without expanding the hierarchy. For example, in the scope control view of FIG. 3, a user does not know which folders and subfolders of the ‘Network Places’ folder, if any, will or will not be included in the search scope.
The second issue, i.e., the user may be unable to determine whether items stored in the hierarchically top folder are to be installed, also occurs with respect to the view presented in FIG. 3. For example, in FIG. 3, below the Files folder, the user has selected the subfolders Documents, Pictures, and Music for inclusion in the search scope, and has excluded the subfolders Video, Contacts, Desktop, Favorites, and New Folder from the search scope. However, in FIG. 3 it is unclear whether the items stored in the Files folder itself, as opposed to items stored in subfolders of Files, are included within the search scope. That is, even if the user fully expands the hierarchy, the use still cannot determine whether the items stored in the Files folder will be included in the search scope.
Thus, it would be an advancement in the art to provide a scope selection input control that explicitly identifies items in a user-defined scope, without ambiguity, and without requiring a user to take extra steps, e.g., fully expanding a hierarchy, to determine which items in the hierarchy are included in the user-defined scope. It would be a further advancement in the art to be able to selectively exclude items from a user-defined scope.